#ifndef __MULT_I2C_H__
#define __MULT_I2C_H__

/* clang-format off */

/* clang-format on */

extern mult_interface_t mult_interface_i2c;

typedef enum _i2c_cmd_t
{
    I2C_CMD_START,  // 发送开始条件
    I2C_CMD_STOP,   // 发送结束条件
    I2C_CMD_ACK,    // 接收的时候是否回复ACK
    I2C_CMD_STATUS, // 查询总线状态

    I2C_CMD_INVALID = 0xFF, // 非法命令
} i2c_cmd_t;

typedef enum _i2c_status_t
{
    I2C_STATUS_SCL_GRASP = (1U << 0), // SCL被拉低
    I2C_STATUS_SDA_GRASP = (1U << 1), // SDA被拉低
    I2C_STATUS_NACK = (1U << 2),      // 没有回复ACK
} i2c_status_t;

#ifdef __cplusplus
extern "C"
{
#endif

#ifdef __cplusplus
}
#endif

#endif /* __MULT_H__ */
